Many computing applications, including Web-based applications, have user-specific and application-specific lists of contacts or other entities that are acted upon by that computing application. For example, an e-mail client, such as Microsoft Outlook or Lotus Notes, typically contains a personal address book, and an electronic billing and payment (EBP) client, such as CheckFree's WebBillPay (WBP), contains a payee list. These entity lists are commonly referred to as contact lists. A primary benefit of such contact lists is elimination of repeated user entry of the same data within an application.
Some applications “scrub” user supplied contact list data to ensure that improved information is consistently utilized by the application. Scrubbing can include normalizing and/or correcting user supplied data. For example, an application might correct a name, address, funding account information, or a user's account number with a payee. Often a user is unaware that contact list data has been scrubbed. That is, when accessing a contact list, a user may see the originally supplied contact list data, while the computing application may actually utilize scrubbed data in providing functionality to the user.
The scope of each contact list is restricted to its application context. Thus, there may be redundancy in the data between contact lists associated with various computing applications. For example, an e-mail client address entry might contain a name and an e-mail identifier (address), and possibly address/phone information, while an EBP client payee entry might contain the same name and address information, and possibly e-mail identifier. Beyond the same information being stored in multiple locations, i.e., in association with multiple applications, a user must input and update this same information repeatedly, i.e., into each application. This multiple information entry, as will be recognized, is at best inefficient.
Computing applications presuppose a function-centric application invocation metaphor. In other words, a user first launches or otherwise access a computing application, then selects a function to perform within the accessed computing application, and then finally specifies the data to be operated upon by the accessed computing application, perhaps from an available contact list.
While computing applications are function-centric, in some computing domains there is precedence for a data-centric approach in which data is presented via a user interface first, then a function is selected and applied to an element of the data. A simple example is the list of folders/files in the My Documents folder of the Window's operating system. From the My Documents folder a user can right-click on one of the displayed items in the folder (stored files) to bring up a set of function choices that can be performed on that selected file, such as opening the selected file, or deleting the selected file.
There also are computer-based “rolodex” type lists that exist just on their own, independent of any computing application. For example, personal digital assistants (PDAs) such as Palm devices, can maintain an address book conveniently populated through a PC-based user interface. These contact lists are currently incapable of doing more than integrating with other tools (typically e-mail or calendar clients through synchronization). Thus, these type contact lists cannot be used to drive application functionality.
A “Web service” is a network accessible interface to application functionality built using standard Internet technologies. Web services are also known as “common services.” A collection of software and tools that enable developers to create, deploy, and access Web services has been proposed by Microsoft. It is important to understand that even though Microsoft's software suite for enabling Web services, known as the .NET platform, is perhaps the most well known, it is by no means the only way to build or use Web services.
A component of Microsoft's original .NET proposal was to offer to consumers a suite of commonly used Web services, dubbed Microsoft .NET My Services. Two of the proposed services are .NET My Contacts, which stores an electronic relationships/address book for a subscriber at a network location distinct from a subscriber's computer, and .NET Passport, which is a subscriber authentication service.
.NET Passport, which has been introduced by Microsoft into the marketplace, allows participating subscribers to create one sign-in name and password for use across participating .NET Passport sites. Additionally, subscribers can save time and avoid repetitive data entry by storing basic demographic information that can be shared with .NET Passport sites. When a subscriber signs in to a participating .NET Passport site, .NET Passport sends the subscriber's identifying information such as ZIP Code, country/region, and city information to the site upon request, or, alternatively a .NET Passport data repository can be accessed by participants in the Web service. Subscribers can also choose to provide more personal information, such as their nickname, E-mail address, age, gender, and language preference.
.NET My Contacts, as disclosed by Microsoft, will allow subscribers to store “address book” type of information, presumably protected and accessed through Passport, at a central location. Microsoft has not defined a user interface for My Contacts, or proposed use scenarios, including interactions between .NET My Contacts data and applications, particularly in the context of EBP.
As will be understood from the discussion above, data stored in existing contact lists and proposed contact lists cannot be utilized by multiple applications. Also, existing and proposed contact lists cannot trigger application functionality. Further, existing and proposed contact lists are not structured such that flexible access control over various aspects of contact information, including population and/or modification of some data by other than the user, is available.
Accordingly, a need exists for an application-independent contact list in which contact data stored therein can be utilized by multiple applications. Also, a need exists for a contact list user interface that supports the triggering of one or more of multiple applications based upon selection of contact data. And, a need exists for an application-independent contact list that provides flexible access control over various segments of contact information, including the ability to allow population or modification of at least a portion of contact data by one or more entities other than a user.
Introduced above, existing EBP computing applications have a function-centric process flow. That is, to direct an EBP transaction a user must first trigger or otherwise access an EBP application, which may be Web-based. After triggering the EBP computing application, the user must select a function (transaction type) to be executed by the accessed EBP computing application. Then, the user must specify or select data, sometimes from an application-specific contact list, associated with the desired function. The specified or selected data might be a payee name, an electronic biller name, or other data, such as an account identifier or date. Only after the user has performed these steps is the desired function executed by the accessed EBP computing application. Thus, due to the function-centric nature of EBP applications, a user cannot conveniently access EBP functionality. He or she must first access an EBP computing application, select a function to be performed, and then select data to be utilized with the selected function. A data-centric EBP process flow would eliminate steps, allowing instant access to desired functionality.
Accordingly, a need exists for an EBP process flow that is data-centric, rather than function-centric.